package com.backend.modules.system.service;

import com.backend.modules.system.dto.TeacherDTO;
import com.backend.modules.system.dto.TeacherQueryDTO;
import com.backend.modules.system.entity.SysUser;
import com.backend.modules.system.entity.SysDepartment;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import java.util.List;

public interface TeacherService {
    
    void create(TeacherDTO dto);
    
    void update(Long id, TeacherDTO dto);
    
    void delete(Long id);
    
    void updateStatus(Long id, Boolean status);
    
    void resetPassword(Long id);
    
    Page<SysUser> page(TeacherQueryDTO query, Pageable pageable);
    
    SysUser getById(Long id);
    
    List<SysDepartment> getTeacherClasses(Long teacherId);
    
    List<SysDepartment> getAvailableClasses(Long majorId);
} 